package fr.hotel.bo;

import java.util.ArrayList;
import java.util.List;

import fr.hotel.constantes.IConstantes;

public class Hotel {
	private Integer nbChambre;
	private List<Chambre> chambres = new ArrayList<Chambre>();
	private String nom = IConstantes.NOM;

	public Hotel() {
		super();
	}

	public Hotel(Integer nbChambre, List<Chambre> chambres, String nom) {
		super();
		this.nbChambre = nbChambre;
		this.chambres = chambres;
		this.nom = nom;
	}

	public Integer getNbChambre() {
		return nbChambre;
	}

	public void setNbChambre(Integer nbChambre) {
		this.nbChambre = nbChambre;
	}

	public List<Chambre> getChambres() {
		return chambres;
	}

	public void setChambres(List<Chambre> chambres) {
		this.chambres = chambres;
	}

	public String getNom() {
		return nom;
	}

	public void setNom(String nom) {
		this.nom = nom;
	}

	@Override
	public String toString() {
		String toString = "------------------------------------\n";
		toString += getNom();
		toString += "\t\tnbChambre = " + getNbChambre() + "\n";
		toString += "------------------------------------\n";

		// Positionnement Chambre
		int index = 1;
		for (Chambre chambre : chambres) {
			System.out.println("Chambre " + index);
			System.out.println("position : " + chambre.getX() + ","
					+ chambre.getY());
			System.out.print("bonus : ");
			for (Integer type : chambre.getBonus()) {
				System.out.print(type + ",");
			}
			System.out.println("\n");
			index++;
		}

		return toString;
	}

	public void desalouerChambres() {
		for (Chambre chambre : this.chambres) {
			chambre.getClient().setId(0);
		}
	}

	public String afficherChambre() {
		String toReturn = "";
		int idx = 1;
		for (Chambre chambre : this.chambres) {
			if (chambre.getClient() != null) {
				toReturn += "Chambre " + (idx++) + " : \n";
				toReturn += chambre.getX() + "," + chambre.getY()
						+ " ==> Client " + chambre.getClient().getId() + "\n";
			}
		}
		return toReturn;
	}

}
